/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tarifador.controller;

import br.com.tarifador.dao.TarifadorDao;
import br.com.tarifador.model.CentroDeCusto;
import java.util.List;

/**
 *
 * @author charles
 */
public class CentroDeCustoRN {
    
    
    private TarifadorDao<CentroDeCusto> dao;
    private CentroDeCusto custo = new CentroDeCusto();
    private String messagemCount;

    public boolean salvaCentroDeCusto() {
        dao = new TarifadorDao<CentroDeCusto>(CentroDeCusto.class);
        boolean valida = false;
        if (custo != null) {
            valida = dao.save(custo);
            countCusto();
        }
        return valida;
    }
    public boolean updateCentroDeCusto(CentroDeCusto ccusto) {
        dao = new TarifadorDao<CentroDeCusto>(CentroDeCusto.class);
        boolean valida = false;
        if (custo != null) {
            custo.setId(ccusto.getId());
            valida = dao.update(custo);
        }
        return valida;
    }

    public void limparCampos() {
        this.custo.setCentroDecusto("");
        this.custo.setDescricao("");
       
        
    }

    public String countCusto() {
        dao = new TarifadorDao<CentroDeCusto>(CentroDeCusto.class);
        Long valor = dao.countAllObject();
        return this.messagemCount = valor.toString() + " centro de custo cadastrado.";
    }
    public boolean deletaCentroDeCusto(Long idCusto) {
        dao = new TarifadorDao<CentroDeCusto>(CentroDeCusto.class);
        boolean valida = false;
        if (custo != null) {
            custo.setId(idCusto);
            valida = dao.delete(custo);
            countCusto();
        }
        return valida;
    }
    public List<CentroDeCusto> listaCentroDeCusto() {
        dao = new TarifadorDao<CentroDeCusto>(CentroDeCusto.class);
        List<CentroDeCusto> lista = dao.listall();
        return lista;
    }
    public String sobreCentroDeCusto() {
        String texto = "O cadastro de centro de custo é utilizado na geração de relatórios, os mesmo pode ser atribuído no cadastro de ramal.";
        return texto;
    }

    public CentroDeCusto getCusto() {
        return custo;
    }

    public void setCusto(CentroDeCusto custo) {
        this.custo = custo;
    }

    public String getMessagemCount() {
        return messagemCount;
    }

    public void setMessagemCount(String messagemCount) {
        this.messagemCount = messagemCount;
    }
    
    
    
    
}
